Version 0.0.3 - Talking in Rainbows
#published 2011-07-05 10:00
#author Chris Webber

<p class="centered">
  <img src="/blog_images/mediagoblin_0.0.3_talking_in_rainbows-scaled.png" />
</p>

<p>Welcome to GNU MediaGoblin 0.0.3, codenamed "Talking in Rainbows".
This release is a huge milestone for us!  While this is still a
developer's release, we're rapidly approaching usability to where
we'll be able to run public instances of the software.  This last
month has been full of various improvements and features, so without
further ado, let's get to what those are!</p>

<p class="blog_image">
  <a href="/blog_images/mediagoblin_0.0.3_mairin_gallery.png"
     ><img src="/blog_images/mediagoblin_0.0.3_mairin_gallery-scaled.jpg"
           alt="Mairin Duffy's example gallery" /></a>
</p>

<p>
  First of all there are a lot of small things, some of them just small
  UI changes, some of them small things on the backend.  Here you can
  see that we now allow users to set their own bio on their profile and
  their home URL.
</p>

<p class="blog_image">
  <a href="/blog_images/mediagoblin_0.0.3_sallys_cupcakes_view.png">
    <img src="/blog_images/mediagoblin_0.0.3_sallys_cupcakes_view-scaled.jpg"
         alt="Viewing Mairin's cupcakes photo" /></a>
</p>

<p>Above you can see a few other niceties on the media viewing page.
(Like, we actually properly resize images now...)  We have a new
sidebar, and likely exciting things will go into it soon such as
various bits of metadata, etc.  For now it's just some buttons.</p>

<p>What's really exciting here is that we now have rich descriptions via
<a href="http://daringfireball.net/projects/markdown/basics">Markdown</a>!
This means you can easily embed links, mark things as bold and
italics, etc.</p>

<p>You may also have noticed that edit button on the right...</p>

<p class="blog_image">
  <a href="/blog_images/mediagoblin_0.0.3_sallys_cupcakes_edit.png"
     ><img src="/blog_images/mediagoblin_0.0.3_sallys_cupcakes_edit-scaled.jpg"
           alt="Editing Mairin's cupcakes photo" /></a>
</p>

<p>It's now possible to edit some metadata about your media
after-submission.  Here you can see that (as well as the markdown used
to generate the HTML in the previous entry's submission).</p>

<p class="blog_image">
  <a href="/blog_images/mediagoblin_0.0.3_free_software_stamps_comment.png"
     ><img src="/blog_images/mediagoblin_0.0.3_free_software_stamps_comment-scaled.jpg"
           alt="Showing off commenting via Mairin's comments photo" /></a>
</p>

<p>But one of the most exciting user-visible changes in this release is
the addition of comments!  Logged in users can comment and even mark
up their post with Markdown, similar to media entry descriptions.</p>

<p class="blog_image">
  <a href="/blog_images/mediagoblin_0.0.3_mediagoblin_messages_rainbow.png"
     ><img src="/blog_images/mediagoblin_0.0.3_mediagoblin_messages_rainbow-scaled.jpg"
           alt="'Talking in Rainbows' messages display" /></a>
</p>

<p>We also have some nice infrastructure in place for sending messages to
users even after a redirect, etc, similar to 
<a href="https://docs.djangoproject.com/en/dev/ref/contrib/messages">Django's messages framework</a>.
Testing this with the different levels/types of messages (debug,
error, warning, etc) lead to the "rainbow of messages" above, and also
to the name of this release.  Now you know why, and knowledge is power.</p>

<p>A lot more things have also changed under the hood that are mostly
unnoticable to end-users, but which are significant from a developer's
point of view.  More than this happened, but to name the big ones:</p>

<ul>
 <li>
   We have a <a href="http://bugs.foocorp.net/issues/351">brand new config system</a>
   which simplifies application initialization, makes it easy to add
   new configuration options, handles auto type conversion and
   validation, etc.  Thanks to Bernard Keller for proving this is a
   good idea.
 </li>
 <li>
   <a href="http://bugs.foocorp.net/issues/289">Improved infrastructure for testing the web application</a>
   and <a href="http://bugs.foocorp.net/issues/364">more tests</a>
 </li>
 <li>
   <a href="http://bugs.foocorp.net/issues/373">Command line tools for managing users</a>
 </li>
 <li>
   <a href="http://bugs.foocorp.net/issues/380">"Workbench"</a> code for media processing
 </li>
 <li>
   We're also
   <a href="http://lxml.de/lxmlhtml.html#cleaning-up-html">cleaning
   HTML via lxml.html.clean</a> which is rather important now that we
   have rich text via markdown, but will be extremely important when
   we move into federation.  (It's not necessarily true that all
   instances will use Markdown for markup.  Also, we're fairly certain
   we did the right thing with this HTML cleaning, but if you or
   someone you know is an expert in this type of area of web security,
   consider <a href="http://mediagoblin.org/pages/join.html">joining
   us</a>!  We'd love more advice here.)
 </li>
 <li>
   Switched from mongokit's indexing to
   <a href="http://bugs.foocorp.net/issues/342">our own indexing
   setup</a>
 </li>
 <li>
   Improved documentation on
   <a href="http://docs.mediagoblin.org/git.html">how to use git as a MediaGoblin developer</a>
 </li>   
 <li>
   And tons of other code
   refactoring, cleanup, and minor changes.
 </li>
</ul>

<p>Several infrastructure changes have been underway also.  We owe a lot
to <a href="http://foocorp.net/">FooCorp</a> for quickly bootstrapping us in
numerous ways in the first couple months of this project (Rob Myers
joked to me that MediaGoblin is FooCorp's first successful incubator
project), but we've quickly grown to the point where it makes sense to
run things on our own servers.  Will Kahn-Greene has been doing the
hard work to move things over... thanks, Will!  For now, most things
are moved over except the bugtracker.  And thank you again to Matt Lee
and Rob Myers for believing in our project, helping us get started,
continued infrastructure support, and being good friends and good
people.</p>

<p>Massive thanks to all the people who have made this release possible,
and there are many!  On the graphic design front, Jef van Schendel
continues to do amazing work (thanks also to Karen Rustad, Aaron
Williamson, Jarred de Beer, and Thorsten Wilms for helping us work on
designing our logo, which hopefully can be wrapped up next month!).
On documentation and infrastructure, thanks much again to Will
Kahn-Greene.  On the organizational front, thanks much to Deb
Nicholson who's helped figure out a lot of stuff for us and answered a
lot of my stupid questions.  On the programming side, thanks to
Aleksandar Micovic, Elrond Elvenlord of Samba TNG, Jakob Kramer, Caleb
Davis, Chris Moylan, Joar Wandborg, Bernard Keller, and Alejandro
Villanueva (well, and me).  I am extrordinarily grateful that we have
such a vibrant team.  This has been an awesome release, and it's been
awesome because of all the people who have worked on it.  So thanks
again.</p>

<p>So what's next?  Right now we're trying to tie up all loose ends so we
can get up an actual instance of this site in the next couple of
months.  This is going to take a tremendous amount of work, and quite
simply, we could use your help!  Help of all sorts is appreciated, so
please... <a href="http://mediagoblin.org/pages/join.html">join us</a> and help
us build a beautiful future of federated media sharing!</p>

<p><i>(PS: Special thanks to <a href="http://blog.linuxgrrl.com/">Mairin Duffy</a>
for letting us make a nice profile example out of
<a href="http://www.flickr.com/photos/mairin/">her photos</a>!)</i></p>
